はじめに こんにちは、データベース室の小田です。今回はLINEマンガのデータベースをシャーディングした作業について、サーバエンジニア編とデータベースエンジニア編に分けてご紹介したいと思います。本エントリでは、シャーディングに至った経緯、データベースエンジニア側で検討したことについて書いていこうと思います。 シャーディングに至った経緯 サービスを引継ぐ 前段として少し昔の話をします。私がLINEマンガの担当データベースエンジニアとなったのは、2018年2月中旬のことでした。LINEマンガのサービス開始が、2013年4月9日だということですので、ちょうど5周年を迎える直前ですね。前任者からは、いいタイミングだからということで、一緒に移行作業を実施してからサービスを受け継ぎました。 この時の移行作業における主たる目的 保守切れサーバの排除 データ増加への一時的な対応 パフォーマンス面の改善 副なる目的 これから担当となる私へのサービス引継ぎの一環 というわけで、私が引継ぎをした2018年2月の中旬時点で、 as-is : NVMe-SSD 2.6TB/3.0TB
はじめに こんにちは、LINEマンガ開発の伊藤です。今回はLINEマンガのデータベースをシャーディングした作業について、サーバーエンジニア編とデータベースエンジニア編に分けてご紹介したいと思います。本エントリでは、シャーディングに至った経緯や対応方針、アプリケーション側で改修したことについて書いていこうと思います。 LINEマンガとは 「LINEマンガ」は、アプリやWEBブラウザ、LINE上でマンガ作品が楽しめる電子コミックサービスです。2013年4月にサービスを開始し、2019年4月9日で6周年を迎えました(*1)。250社以上の出版社・レーベルを通じて現在までに38万点以上のマンガを配信し、ダウンロード数は国内で2,300万件以上(2019年4月時点)、App Annieが発表した「Top Publisher Award 2018」の日本アプリ年間収益ランキング(非ゲームを除く)ではコミュニケーションアプリ「LINE」に続いて、なんと2位(*2)です! シャーディングの背景 ありがたいことにユーザーが増え続けているので、以前からシャーディングは検討事項の一つでした。しかしシャーディ
sunderls is a front-end engineer
はじめに こんにちは、LINEマンガでJavaScriptを使った開発を担当しているsunderlsです。 LINEの中でマンガを読めるようになったことに、皆さんお気づきでしょうか。 「···」をタップし、「LINEマンガ」アイコンをタップすると、マンガをサクサク読むことができます。 実はこの画面はWeb技術で実装しています。画面遷移のスムーズさは、体感的にはネイティブアプリに近いのではと思っていますが、いかがでしょうか。どのような技術を使ったのか、簡単に解説したいと思います。 Webでの実装の課題 普段、ReactやVueを使っている方も多いと思います。Routerにトランジションを加えれば、問題なく動作するのではないかと思われるかもしれません。確かにその実装でも動作はしますが、画面遷移をスムーズにするには以下のようないくつかの課題があります。 「戻る」ボタンをタップすると、遅延を感じる RouterによってDOMが入れ替えられるのが原因です。 LINEマンガの場合はトップページが長くて複雑なので、「戻る」ボタンの遅延はさらに感じやす